查看原文
其他

介绍互联网计算机“Badlands”概念

DFINITY 2022-07-07




每个人,请注意:这是对那些对 Badlands 概念感兴趣的人的技术预贴,而不是宣布项目细节的正式帖子。目前,开发互联网计算机生态系统的团队有几个相互竞争的需求,包括目前正在进行的使用“链密钥”技术将网络与以太坊和比特币直接集成的工作。为业余节点提供商提供机会仍然是一个重要目标,所以我今天分享这篇文章是为了提供社区讨论的机会。


Badlands 是一个概念,它涉及应用互联网计算机技术来创建一个由家庭业余节点提供商支持的新网络,使用低成本设备,为智能合约创建最大程度的去中心化和审查阻力。它将充当互联网计算机的扩展,并且可以完全互操作,但具有不同的属性。


鉴于互联网计算机网络中的节点机器最低规格很高,价格可能超过 10,000 美元,而 Badlands 网络中使用的节点机器将围绕特殊的树莓派配置进行标准化,成本低于 250 美元。


使用高性能 SSD 来维护数据的树莓派计算机


互联网计算机的目的是促进“区块链奇点”,其中几乎所有系统和服务都可以使用智能联系人重建,并以重新构想的形式完全从公共区块链运行 - 即创造一个可以运行每个系统和服务的未来区块链。


因为智能合约是一种新形式的软件,其优势将变得势不可挡,我们相信这个未来是不可避免的。例如,运行在公共网络上的智能合约,而不是诸如云之类的专有服务,是防篡改的,不需要防火墙来保护它们,是不可阻挡的,可以轻松组合成无限组合以创造网络效应,可以以代币的形式处理价值,并且可以自主。


在互联网计算机上使用智能合约,您可以实现去中心化的金融系统、社交媒体、SaaS 服务、企业系统等等(注意:在互联网计算机上,智能合约也被称为“容器”,有时也被称为“容器智能合约”)。


为了克服限制智能合约在传统区块链上的挑战,进行了大规模的研发工作来生产今天正在进行的互联网计算机,并且必须从头开始重新思考区块链架构。


互联网计算机可以扩展其容量和吞吐量,现在随着网络的增长而不断增加,以网络速度运行智能合约,以便可以创建各种系统,效率接近传统技术,并支持提供安全交互的智能合约从区块链直接向最终用户提供网络体验(例如,参见https://dscvr.ic0.app/)。


这使 dapp 开发人员无需像当今区块链中的普遍做法一样,将托管在集中式云服务上的不安全网站合并到与最终用户交互的需要中。


互联网计算机网络专注于通过打破速度、扩展性和效率限制来实现区块链奇点,以扩大其应用,这意味着今天运营特殊“节点机器”的“节点提供商”从传统数据中心托管其网络的主要是专业人员。


此外,每个节点提供者都被识别到网络的治理系统,称为网络神经系统,而不是匿名的,这允许治理系统以一种减少智能合约计算和数据复制的方式构建网络,以增加通过在具有已知独立性级别的节点之间划分职责,在不降低安全性的情况下提高效率(这种技术被称为“确定性去中心化”)。


在 Badlands 愿景中,应用了相同的技术,但在节点提供者是个人的网络中,他们保持完全匿名。如下所述,个人将参加“人员聚会”,这授予他们每季度添加一个额外节点的权利。


Badlands 将为互联网计算机添加什么


Badlands 的目的是允许智能合约托管在一个具有最大程度的去中心化的网络上,匿名业余爱好者将提供这种能力,进入门槛低,并且对审查制度有最大的抵抗力。


该网络将具有不同的精神,对于吞吐量和存储要求较低的智能合约将更像是“狂野西部”,但仍然使用与互联网计算机上使用的软件开发工具链完全相同的软件开发工具链来托管智能合约,并且需要来自其节点提供商的类似技能。


尚未确定 Badlands 是否应该是与互联网计算机互操作的独立姊妹区块链(在这种情况下,将创建一个 BDL 代币创世账本,在启动时复制 ICP 代币账本),或互联网计算机应该只支持一种新的“Badlands 子网区块链”。


在下文中,我假设 Badlands 是作为一个单独的网络实现的,无论实施方式如何,Badlands 都将作为互联网计算机的扩展运行。


Badlands 将有几个独特的优势,但也会涉及到与互联网计算机网络相关的许多权衡。


  • 节点机器的最低硬件规格将来自低成本树莓派计算机的配置,以使尽可能多的业余爱好者参与。这将大大降低单个智能合约的最大吞吐量和速度。


  • 由业余爱好者运行的节点机器将不太可靠,因此网络将需要显着增加智能合约计算和数据的复制,以达到所需的弹性和安全级别。这将降低托管智能合约的效率,增加成本,并降低最终确定的速度。


  • 可能有必要使用类似 Tor 的网络来屏蔽从参与者家中运行的节点机器的网络活动,这也会影响速度和效率。这还有待确定。


  • 如果 Badlands 网络在极端情况下遇到严重的技术问题,需要节点运营商手动干预,例如将软件更新推送到停顿的节点设备上(在正常运行期间,网络将自动更新节点软件,就像在互联网计算机上一样),由于业余爱好者的响应速度自然低于专业节点提供商,因此潜在服务中断的持续时间可能会增加。


  • Badlands 不可能以为其计算和数据提供任何程度隐私的方式托管智能合约,因为数据将被多次复制,并且所使用的节点硬件将不包含可以保护其隐私的技术他们从有权访问设备的人那里处理数据,例如SEV-SNP(尽管除互联网计算机之外,当今生产中的几乎所有区块链也是如此)。


Badlands 的独特优势如下:


  • 它将受益于最大程度的去中心化和审查阻力,这是区块链社区非常尊重的。


  • 它将拥有自己的网络神经系统(由管理和更新网络的互联网计算机托管的免许可治理系统),这将根据其使命和精神发挥其社区的意志,保证更传统的“代码即法律”环境。


  • 尽管 Badlands 的速度或效率不如互联网计算机,但它将使用相同的协议和代码,因此仍然能够扩展其容量、提供交互式 Web 内容、与其他区块链互操作,并通过传统的方式快速运行标准。


  • 它将与互联网计算机主网络完全互操作。


  • 如果不关闭互联网(假设节点伪装其流量),将很难摧毁。


  • 它将向业余爱好者介绍成为节点提供商,然后他们可能会毕业成为主要互联网计算机网络中的专业或半专业节点提供商,这是一项更昂贵和更复杂的工作。


Badlands 的最佳选择是托管不需要互联网计算机提供的效率、速度和正常运行时间的智能合约 - 比如区块链社交网络、聊天应用程序或实时金融交易。


它将为智能合约提供一个狂野的西部,可以直接与互联网计算机上的智能合约进行互操作。它将为那些旨在以最大程度的去中心化程度在网络上托管智能合约的人提供一个场所,同时允许业余爱好者在家中以低成本操作节点。


1个人成为1个节点的人员聚会


为了有效地增加其网络的容量,互联网计算机形成了新的“子网区块链”,通过组合具有某种预期独立程度的节点机器,链密钥技术将其组合成一个区块链。


今天,这可以通过收集节点提供者的实际身份以及有关其节点的其他信息,例如安装它们的数据中心、数据中心的地理位置,以及数据中心所在的司法管辖区来实现。


子网是通过向网络神经系统提交提案来创建的,这些提案结合了由来自不同数据中心的独立节点提供商运行的节点,以及关于地理和管辖权的额外去中心化考虑。


这最大限度地提高了安全性,因为区块链协议数学依赖于对参与者独立性的假设进行正确操作。


当节点提供者 - 那些添加和运行节点的 - 是匿名的业余爱好者时,Badlands 需要达到同样的结果。Badlands 对这个问题的解决方案涉及“人员聚会”,这些聚会将在每个日历季度的同一天大约在同一时间在世界各地举行。


希望向网络添加新节点的个人必须亲自参加人员聚会,由于一个人一次只能参加一个聚会,因此每个人只能添加一个节点,因此网络可以安全地推断每个季度添加的节点是由不同的人添加的,然后将添加的节点组合为通过选择不能由同一个人添加的节点来形成新的子网区块链 - 这是对互联网计算机使用的方案的改编。


添加到互联网计算机网络的每个节点机器都由一个公钥标识,为此它维护一个相应的私钥,用于对消息进行加密签名,以便网络中的其他节点可以验证它是作者。要将新节点机器添加到区块链网络,必须将其公钥添加到网络托管的节点身份的主注册表(“分类帐”)中。


这就是人员聚会使之成为可能的。


为了向网络添加新节点,与会者必须在他们的手机上安装一个特殊的应用程序,其中包含其公钥标识和相应的私钥。该应用程序使他们能够扮演申请人的角色,寻求通过收集其他与会者的公证签名来授权公钥,以及帮助授权其他人公钥的公证人。


在此过程中,所涉及的手机必须关闭 WiFi 和数据,这使申请者可以证明他们拥有设备上所涉及的私钥的副本 - 并且这些密钥实际上并不存在在由不诚实的一方运营的远程服务器上,该方已支付人们参加聚会的费用,代表他们添加节点。


由于无法使用网络连接,二维码用于通过手机的屏幕和相机传输手机之间的交互。



为了启动对申请人公钥进行公证的过程,公证人会向申请人展示一条“挑战信息”,该信息以二维码的形式显示在他们的屏幕上。然后,申请人使用他们的应用程序扫描挑战消息,并使用他们的私钥在其上生成一个签名,然后以相同的方式将其传回。


公证人的应用程序然后验证他们质询时的签名,如果验证通过,则在签名内签署公钥,然后作为公证,以相同的方式传回申请人。


程序基本上如下,聚会组织者将所有参加者围成一个圆圈,从圆圈中顺时针依次抽取申请者,然后当前申请者绕着圆圈前进,获得其他参加者的公证。


每个参与者只能绕圈一次,并且必须从其他参与者那里收集最少数量的公证,以便将他们新节点的公钥提交给网络的注册表。


如果与会者发现某人在作弊,他们必须立即将其从诉讼程序中驱逐出去,因为除非他们都收集到足够相似的公证数量,或者报告了可疑事件,否则所有通过他们一方添加的公钥都可能被网络拒绝。



通过这种方式,每个季度,匿名个人都可以参加人员聚会,向网络添加一台新的节点机器,为实现区块链中最大程度的去中心化奠定基础。


奖励和节点惩罚


与传统的区块链相比,参与者通过执行最多的哈希(工作量证明)来竞争生产区块并获得奖励,或者根据已抵押的某些加密货币的数量(Proof-of-Stake)来生产区块,互联网计算机在每个固定时间间隔以等量奖励每个节点机器,以换取它们正确参与网络。


为确保节点供应商满足最低标准节点硬件规范,并正确托管他们的节点,例如提供足够的带宽,互联网计算机社区监控节点的“统计偏差”,它可以向网络神经系统报告以进行补救。


正确参与的节点应该成功地产生与其子网中其他节点大致相同数量的区块,如果一个节点由于产生较少的区块(或以其他有问题的方式偏离)而在统计上偏离,这可以被视为错误行为,并导致 NNS 执行惩罚,包括减少等待支付的奖励,或者严重偏离,永久从网络中删除节点(惩罚)。


当基于树莓派的节点设备通过家庭互联网连接运行时,它们的性能自然会有更大的差异。修复网络的一项关键任务是确定可接受的偏差水平。Badlands 节点供应商可能需要升级他们的路由器,并为它们配置流量整形,以确保它们在例如视频流传输时继续按预期运行。


毫无疑问,许多节点提供商都在挣扎,社区将决定什么构成了产生良好运行的网络所需的性能。


由于必须接受更高水平的偏差,Badlands 还可能引入一种适应性,其中在节点运行的每个时间间隔内分配给节点的一定比例的奖励,与其区块生产的相对速率相关,以激励最佳行为。


引导 Badlands:潜在的双赢


实现 Badlands 的最简单方法是作为一个单独的链,而不是一种新型的互联网计算机子网。这将避免处理不同节点和安全模型之间的一些棘手的阻抗不匹配,并提供要追求的独特治理精神。


互联网计算机代码库几乎不变地可以重新应用,成为两个可直接互操作的区块链的通用代码库。新网络将收到自己的 BDL 分类账,BDL 代币充当 Badlands 网络自己的网络神经系统内的治理代币。


如果采用这种方法,那么创世 BDL 账本可能会通过复制 ICP 账本来初始化,为每个 ICP 持有者提供等量的 BDL。


然后,DFINITY 基金会将出售源自其 ICP 捐赠的 BDL,以筹集资金在世界各地举办聚会并引导社区、启动新网络所涉及的技术成本以及必须执行的任何定制研发工作的成本。


可以说,这种方法在许多方面可能是双赢的。


Badlands 将开辟一个非常不同的、非竞争性的利基市场,通过家庭互联网连接在树莓派节点设备上运行,其中节点提供商是真实但匿名的个人,他们严格限制每年可以添加多少节点。


该网络的能力要差得多,但将权力下放至逻辑极限,在具有不同精神的环境中托管智能合约。尽管如此,这些链将是直接互操作的,这样不同网络上的智能合约可以相互调用,BDL 可以在互联网计算机上与 ICP 交换,然后在需要的地方在金融交易所清算。


从本质上讲,它将扩展和增强互联网计算机生态系统,就像即将使用其链密钥技术与比特币和以太坊直接集成一样。


出于这些原因,Badlands 将创造自己的价值,同时通过扩展其生态系统为互联网计算机增加价值,并为有兴趣在互联网计算机网络中毕业到专业节点供应的业余爱好者提供一个入口。


两条链将继续共享相同的代码库,并要求参与者具有相同的技能,扩大正在进行的研发工作所提供的影响力,以及社区获得的专业知识,现在将应用于两条链。


同时,在创世时将 BDL 代币分配给 ICP 持有者可能会带来新价值的惊喜服务。


我期待着未来几个月互联网计算机社区中关于 Badlands 的讨论。



作者:Dominic Williams

翻译:Catherine


在互联网计算机上构建前端 Dapp

如何使用 NNS Dapp 部署您的第一个容器智能合约

纽约时报 | 嗡嗡作响的加密货币的戏剧性下跌引起了人们的关注




你关心的 DFINITY 内容
技术进展 | 项目信息 | 全球活动


长按关注 DFINITY 微信公众号

随时答疑解惑


*添加小助手微信 cdimnp 进交流社群



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存